There are still plenty of problems with Linux/APUS. Remember it is a developer kernel, so you cannot expect everything (or anything) to be working. It should get better as time goes by, though.
The To Do list below is basically the list of known problems. If you have anything to add to the list, or if any of the listed devices are working for you, please let me know.
I work on things as my time permits. I have had bad experiences (plural!) with fixing drivers for devices I don't have myself - it takes too much time and energy, even when someone owning such a device offers to run test kernels. Thus, if you want to see a working driver for your hardware, you really need to start hacking yourself.
This is a list of jobs that are up for grabs. If you want to do it and you think it will take more than a couple of days, please let me know so I can mark it to prevent duplicated efforts.
(free) If the Amiga DOS ROM is shadowed, it will eat 512kB RAM. It might be possible to disable this shadow mapping, but I don't feel like hacking on it myself - it can be disabled manually in the Early Startup Menu.
(free) PPC603p support is not as good as it should be. In arch/ppc/kernel/head.S and arch/ppc/mm/init.c the flag NO_RELOAD_HTAB should be set but this causes the kernel to hang at the moment. Probably some tophys/tovirt oversigt in head.S.
( Roman Zippel) Merging the amiboot changes. We need someone to maintain the amiboot program as Geert Uytterhoeven does not have the time anymore. Presently I have put the Linux/APUS required changes in the 'boothack' directory at SunSITE Denmark.
(free) A4000T/A4091 SCSI drivers require the kernel to be compiled using segment registers for memory mapping.
Page translations are cached in on-chip translation lookaside buffers (TLBs). When a memory access is attempted and the page information is not found in the TLBs, a table lookup from main memory is required.
When the kernel is mapped with BATs, execution of kernel code does not require looking up information about individual pages as the entire kernel memory space is mapped in one chunk.
As the kernel memory space used to hold the NCR53c7xx SCSI scripts needs to be mapped as write-through rather than write-back, per-page cache control is required. The current kernel memory system does not mix BAT mappings with segment register mappings, so kernels compiled after 980820 have to use segment register mappings only to ensure that A4091/A4000T drivers work correctly.
Two things can be done about this; in the short term, users who don't use the affected SCSI drivers can rebuild the kernel using BATs for memory mapping (undef MAP_RAM_WITH_SEGREGS in arch/ppc/mm/init.c).
A proper long term solution for all users is kernel support for a mixed mapping strategy. Either by mapping the end of kernel space with segment registers and having a special allocator to deal with it, or by re-mapping the required pages with segment registers. The latter strategy is in my opinion better as any overhead will only affect the pages used for the SCSI driver scripts. Unfortunately it will require (minor) driver changes. The former will affect the entire region of memory mapped with segment registers (which will be 1/4 of the available memory - 8-16MB on most systems).
I would like to work on this after the machine dependencies have been cleaned up in Linux 2.3, but I see no reason to spend energy on it in the immediate future (since the drivers are working and users without the SCSI controllers can rebuild a kernel with BAT mappings).
Other issues:
Complete driver for the CyberStorm/PPC onboard wide SCSI controller.
Jes S�rensen is working on this.
Complete integration in the Linux/PPC source tree.
Recompiling a Linux/APUS kernel will require special patches for a long time to come. Linux/APUS relies on files from both the arch/m68k and arch/ppc directories which makes a clean merge with the main source tree problematic at best. There is hope though; since Linux/APUS is not the only port with this problem (sparc/ultrasparc, mac/powermac) there has been discussions of introducing a new "mach" hierarchy where sources specific to a given machine (such as the Amiga) can reside.
I will continue upgrading the patches to the latest release kernels and work on integrating changes in both arch/m68k and ppc/arch. Jes will probably be doing a lot of editing when it gets to the time of implementing the mach hierarchy.
Completing the LILO port.
Roman Zippel is working on LILO support for Linux/APUS.